﻿using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace BPM.Web.Shared.Data;

public partial class UpdateCodeGenInput : BaseVM
{
    /// <summary>
    /// 主键Id
    /// </summary>
    [DisplayName("业务号")]
    [Required(ErrorMessage = "业务号不能为空")]
    [JsonPropertyName("id")]
    public long Id { get; set; }

    /// <summary>
    /// 数据库名
    /// </summary>
    [DisplayName("数据库名")]
    [JsonPropertyName("databaseName")]
    [Required(ErrorMessage = "数据库名不能为空")]
    public string? DatabaseName { get; set; }

    /// <summary>
    /// 数据库表名
    /// </summary>
    [DisplayName("数据库表名")]
    [JsonPropertyName("tableName")]
    [Required(ErrorMessage = "数据库表名不能为空")]
    public string? TableName { get; set; }

    /// <summary>
    /// 业务名（业务代码包名称）
    /// </summary>
    [DisplayName("业务名（业务代码包名称）")]
    [JsonPropertyName("busName")]
    [Required(ErrorMessage = "业务名（业务代码包名称）不能为空")]
    public string? BusName { get; set; }

    /// <summary>
    /// 命名空间
    /// </summary>
    [DisplayName("命名空间")]
    [JsonPropertyName("nameSpace")]
    [Required(ErrorMessage = "命名空间不能为空")]
    public string? NameSpace { get; set; }

    /// <summary>
    /// 作者姓名
    /// </summary>
    [DisplayName("作者姓名")]
    [JsonPropertyName("authorName")]
    [Required(ErrorMessage = "作者姓名不能为空")]
    public string? AuthorName { get; set; }

    /// <summary>
    /// 生成方式
    /// </summary>
    [DisplayName("生成方式")]
    [JsonPropertyName("generateType")]
    [Required(ErrorMessage = "生成方式不能为空")]
    public string? GenerateType { get; set; }

    /// <summary>
    /// 菜单应用分类（应用编码）
    /// </summary>
    [DisplayName("菜单应用分类（应用编码）")]
    [JsonPropertyName("menuApplication")]
    [Required(ErrorMessage = "菜单应用分类（应用编码）不能为空")]
    public string? MenuApplication { get; set; }

    /// <summary>
    /// 菜单父级
    /// </summary>
    [DisplayName("菜单父级")]
    [JsonPropertyName("menuPid")]
    public long MenuPid { get; set; }

    /// <summary>
    /// 类名
    /// </summary>
    [DisplayName("类名")]
    [JsonPropertyName("className")]
    public string? ClassName { get; set; }

    /// <summary>
    /// 是否移除表前缀
    /// </summary>
    [DisplayName("是否移除表前缀")]
    [JsonPropertyName("tablePrefix")]
    public string? TablePrefix { get; set; }

    /// <summary>
    /// 功能名（数据库表名称）
    /// </summary>
    [DisplayName("功能名（数据库表名称）")]
    [JsonPropertyName("tableComment")]
    public string? TableComment { get; set; }

}
